/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia.agente;

import entidades.DetallePedidoProductoImpl;
import persistencia.Agente;
import persistencia.FabricaIntermediario;
import persistencia.FachadaInterna;

/**
 *
 * @author mariodante
 */
public class DetallePedidoProductoAgente extends Agente implements DetallePedidoProducto {
    
    private DetallePedidoProductoImpl detallePedidoProducto;
    
    private String oidProducto;
    private boolean matProducto;
    
     private String oidPedido;
//    private boolean matPedido;
//    public boolean matPedidos;
    
    
    public DetallePedidoProductoImpl getDetallePedidoProducto() {
        return detallePedidoProducto;
    }

    public void setDetallePedidoProducto(DetallePedidoProductoImpl detalle) {
        this.detallePedidoProducto = detalle;
    }
    

    @Override
    public String getDescripcion() {
        return getDetallePedidoProducto().getDescripcion();
    }

    @Override
    public void setDescripcion(String descripcion) {
        getDetallePedidoProducto().setDescripcion(descripcion);
    }

    @Override
    public int getCantidad() {
        return getDetallePedidoProducto().getCantidad();
    }

    @Override
    public void setCantidad(int cantidad) {
        getDetallePedidoProducto().setCantidad(cantidad);
    }

    @Override
    public double getImporteSubtotal() {
        return getDetallePedidoProducto().getImporteSubtotal();
    }

    @Override
    public void setImporteSubtotal(double importeSubtotal) {
        getDetallePedidoProducto().setImporteSubtotal(importeSubtotal);
    }

    @Override
    public Producto getProducto() {
        if(!matProducto){
            detallePedidoProducto.setProducto(FachadaInterna.getInstancia().buscar(Producto.class, oidProducto));
            matProducto = true;
        }
        return detallePedidoProducto.getProducto();

    }

    @Override
    public void setProducto(Producto producto) {
        getDetallePedidoProducto().setProducto(producto);
    }

    /**
     * @return the oidProducto
     */
    public String getOidProducto() {
        return oidProducto;
    }

    /**
     * @param oidProducto the oidProducto to set
     */
    public void setOidProducto(String oidProducto) {
        this.oidProducto = oidProducto;
    }

    /**
     * @return the oidPedido
     */
    public String getOidPedido() {
        return oidPedido;
    }

    /**
     * @param oidPedido the oidPedido to set
     */
    public void setOidPedido(String oidPedido) {
        this.oidPedido = oidPedido;
    }
    
}
